*{margin: 0;padding: 0;box-sizing: border-box;}

body{
	height: 100%;
  	margin: 0;
  	padding: 0;
	overflow-x: hidden;
	scroll-behavior: smooth;
}

header{
	z-index: 10;
	height: 100vh;
	width: 100%;
	overflow: hidden;
	position: relative;
	background-image: 
		radial-gradient(closest-side,rgba(255,255,255,1),rgba(255,255,255,0)),
		radial-gradient(closest-side,rgba(209,244,255,1),rgba(209,244,255,0)),
		radial-gradient(closest-side,rgba(255,189,208,1),rgba(255,189,208,0)),
		radial-gradient(closest-side,rgba(249,248,113,1),rgba(249,248,113,0)),
		radial-gradient(closest-side,rgba(209,244,255,1),rgba(209,244,255,0));
	background-size: 130vmax 130vmax,80vmax 80vmax,90vmax 90vmax,110vmax 110vmax,90vmax 90vmax;
	background-position: -80vmax -80vmax,60vmax -30vmax,10vmax 10vmax,-30vmax -10vmax,50vmax 50vmax;
	background-repeat: no-repeat;
	animation: 5s movement linear infinite;
}


.header::after{
	content: '';
	display: block;
	position: fixed;
	width: 100%;
	height: 100%;
	backdrop-filter: blur(50px);
	-webkit-backdrop-filter: blur(50px);
	z-index: -1;
}

@keyframes movement{
	0%,100%{
		background-size: 130vmax 130vmax,80vmax 80vmax,90vmax 90vmax,110vmax 110vmax,90vmax 90vmax;
		background-position: -80vmax -80vmax,60vmax -30vmax,10vmax 10vmax,-30vmax -10vmax,50vmax 50vmax;
	}
	25%{
		background-size: 100vmax 100vmax,90vmax 90vmax,100vmax 100vmax,90vmax 90vmax,60vmax 60vmax;
		background-position: -60vmax -90vmax,50vmax -40vmax,0vmax -20vmax,-40vmax -20vmax,40vmax 60vmax;
	}
	50%{
		background-size: 80vmax 80vmax,110vmax 110vmax,80vmax 80vmax,60vmax 60vmax,80vmax 80vmax;
		background-position: -50vmax -70vmax,40vmax -30vmax,10vmax 0vmax,20vmax 10vmax,30vmax 70vmax;
	}
	75%{
		background-size: 90vmax 90vmax,90vmax 90vmax,100vmax 100vmax,90vmax 90vmax,70vmax 70vmax;
		background-position: -50vmax -40vmax,50vmax -30vmax,20vmax 0vmax,-10vmax 10vmax,40vmax 60vmax;
	}
}


.bg1{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 0;
	height: 100vh;
	width: 100%;
	z-index: -2;
	background-image: linear-gradient(to bottom,#2F313E,#ffffff);
}

.bg2{
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
	height: 100vh;
	width: 100%;
	z-index: -3;
}
/*============================= 
 *============================= 
 *            nav
 *=============================   
 * ============================ */

html {
    --scroll-progress: 0;
}

nav {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    padding: 15px 0;
    z-index: 100;
    transform: translateY(calc(var(--scroll-progress) * 10px));
    transition: transform 1.6s ease;
}

.nav {
    width: 100%;
    height: 47px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 50px;
    margin-left: 0;
    background: transparent;
    backdrop-filter: blur(0);
    border-radius: 0;
    box-shadow: none;
    transition: all 1.6s ease;
}

html:not([data-scroll="0"]) .nav {
    width: calc(100% - (var(--scroll-progress) * 70%));
    margin-left: calc(var(--scroll-progress) * 35%);
    padding: 0 calc(50px - (var(--scroll-progress) * 25px));
    background: rgba(255, 255, 255, calc(var(--scroll-progress) * 0.18));
    backdrop-filter: blur(calc(var(--scroll-progress) * 12px));
    border-radius: calc(var(--scroll-progress) * 30px);
    box-shadow: 0 calc(var(--scroll-progress) * 6px) calc(var(--scroll-progress) * 15px) rgba(0, 0, 0, calc(var(--scroll-progress) * 0.15));
}

.nav_logo {
    font-family: 'xs';
    color: white;
    font-size: 1.8vmin;
    text-transform: uppercase;
    transition: color 1.6s ease;
}

html:not([data-scroll="0"]) .nav_logo {
    color: rgb(calc(var(--scroll-progress) * 43), calc(var(--scroll-progress) * 43), calc(var(--scroll-progress) * 43));
}

@font-face {
    font-family: 'xs';
    src: url('../font/方正毡笔黑简体.ttf');
}

.nav_content {
    display: flex;
    gap: 35px;
    transition: gap 1.6s ease;
}

html:not([data-scroll="0"]) .nav_content {
    gap: calc(35px - (var(--scroll-progress) * 15px));
}

.nav_content_text a {
    color: white;
    text-decoration: none;
    font-size: 1.7vmin;
    font-weight: 200;
    letter-spacing: 5px;
   
}

html:not([data-scroll="0"]) .nav_content_text a {
	transition: color 0.4s ease-in-out; 
    color: rgb(calc(var(--scroll-progress) * 43), calc(var(--scroll-progress) * 43), calc(var(--scroll-progress) * 43));
}

html:not([data-scroll="0"]) .nav_content_text a:hover{
    color: #80BFFF;
}


/*============================= 
 *============================= 
 *            大字
 *=============================   
 * ============================ */

.logo{
	font-family: 'cg';
	width: 100%;
	height: 60vh;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	color: white;
	font-size: 33vmin;
	font-weight: 450;
	letter-spacing: 10px;
    -webkit-user-select: none;
  	-moz-user-select: none;
  	-ms-user-select: none;
  	user-select: none;
  	transition: transform 1s;
  	z-index: 10;
    position: relative;
}

@font-face{
	font-family: 'cg';
	src: url('../font/雅坊美工06.ttf');
}

@keyframes breathing {
    0%, 100% {
        color: rgba(255, 255, 255, 0.5);
        text-shadow: 
            0 0 2px rgba(255, 255, 255, 0.4),
            0 0 5px rgba(255, 255, 255, 0.2),
            0 0 10px rgba(255, 255, 255, 0.1);
    }
    50% {
        color: rgba(255, 255, 255, 1);
        text-shadow: 
            0 0 4px rgba(255, 255, 255, 0.9),
            0 0 8px rgba(255, 255, 255, 0.6),
            0 0 10px rgba(255, 255, 255, 0.5),
            0 0 12px rgba(255, 255, 255, 0.3);
    }
}

.logo_label{
	width: 100%;
	z-index: 10;
	overflow: hidden;
  	position: relative;
  	-webkit-user-select: none;
  	-moz-user-select: none;
  	-ms-user-select: none;
  	user-select: none;
  	transition: transform 0.6s;
  	margin-top: -30px;
}

hr{
	background-color: #CBE7FF; 
	margin: auto;
	height: 18px;
	width: 200px;
	border: none;
	border-radius: 20px
}

.logo_label_text{
	animation: breathing 4.5s ease-in-out infinite;
	display: flex;
	align-items: center;
	justify-content: center;
	color: white;
	font-weight: 300;
	font-size: 5vmin;
	letter-spacing: 60px;
	margin-top: 30px;
}

.logo_label_text span{
	color: #CBE7FF;
}



/*============================= 
 *============================= 
 *          section1
 *=============================   
 * ============================ */

.section1 {
  height: auto;
  min-height: 50vh;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center; 
  z-index: 3;
}


@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(80px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.section1_label1, .section1_label2 {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(80px);
  animation: fadeInUp 2s ease-out forwards;
  animation-timeline: scroll(root);
  animation-range: 20vh 100vh;
}


.section1_label1{
	margin-top: 15vh;
	font-weight: bold;
	font-size: 4vmin;
	letter-spacing: 2px;
	animation-delay: 1s; 
	color: #2B2B2B;
}

.section1_label2{
	 animation-delay: 1s;
	margin-top: 10px;
	font-weight: 300;
	font-size: 3vmin;
	letter-spacing: 18px;
	color: #CCCCCC;
}

.section1_label2 span{
	color: #80BFFF;
}

/*============================= 
 *============================= 
 *          section2
 *=============================   
 * ============================ */

.section2 {
	width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    z-index: 4;
}

.bu_1 a,.bu_2 a{
	width: 400px;
	height: 10vh;
	display: flex;
  	justify-content: center;
  	align-items: center;
 	text-decoration: none;
  	font-size: 3.5vmin;
  	border: 1px solid #2B2B2B;
  	border-radius: 50px;
  	letter-spacing: 20px;
  	font-weight: 300;
  	transition: all 0.5s ease-in;
}

.bu_1 a{
	color: white;
	background-color: #2B2B2B;
}

.bu_1 a:hover {
	color: #2B2B2B;
  	background-color: white;
}

.bu_2 a{
	color: #2B2B2B;
	background-color: white;
}

.bu_2 a:hover {
	color: white;
  	background-color: #2B2B2B;
}


/*============================= 
 *============================= 
 *        	drop
 *=============================   
 * ============================ */


.drops-container {
  position: fixed;
  width: 100vw;
  height: 100vh;
  margin-top: 45vh;
  pointer-events: none;
  z-index: 3; 
  overflow: visible;
}

.water-drop {
  position: absolute;
  background: 
    radial-gradient(circle at 30% 20%, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0) 25%),
    radial-gradient(circle at 80% 40%, rgba(255,255,255,0.7) 0%, rgba(255,255,255,0) 15%);
  box-shadow: 
    inset -3px -5px 8px rgba(0,0,0,0.08),
    inset 2px 2px 5px rgba(255,255,255,0.15);

  transform-origin: center;
  transition: left 0.8s ease, top 0.8s ease, opacity 0.8s ease, transform 0.8s ease;
}


.drop-1 {
  width: 80px;
  height: 65px;
  top: 20%; left: 15%; 
  --rotate: -3deg;
  border-radius: 50% 60% 45% 55% / 40% 35% 65% 60%;
}
.drop-2 {
  width: 60px;
  height: 50px;
  top: 25%; left: 75%; 
  --rotate: 2deg;
  border-radius: 65% 50% 55% 60% / 55% 40% 60% 50%;
}
.drop-3 {
  width: 65px;
  height: 75px;
  top: 45%; left: 60%; 
  --rotate: -1deg;
  border-radius: 55% 55% 40% 60% / 35% 45% 70% 65%;
}
.drop-4 {
  width: 45px;
  height: 40px;
  top: 18%; left: 70%; 
  --rotate: 4deg;
  border-radius: 60% 50% 60% 45% / 50% 55% 45% 50%;
}
.drop-5 {
  width: 70px;
  height: 55px;
  top: 0%; left: 30%;
  --rotate: -2deg;
  border-radius: 55% 60% 50% 55% / 45% 40% 60% 55%;
}


.water-drop::after,
.water-drop::before {
  content: '';
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}
.water-drop::after {
  bottom: -5px;
  background: radial-gradient(ellipse, rgba(255,255,255,0.05) 0%, transparent 60%);
}
.water-drop::before {
  bottom: -15px;
  background: radial-gradient(ellipse, rgba(0,0,0,0.05) 0%, transparent 70%);
  filter: blur(10px);
}


/*============================= 
 *============================= 
 *        	section3
 *=============================   
 * ============================ */


.section3{
	height: 60vh;
	width: 100%;
	margin-top: 65vh;
}




/*============================= 
 *============================= 
 *        	footer
 *=============================   
 * ============================ */
.footer {
  	position: relative; 
	display: flex;
    justify-content: center;
    align-items: center;
  	width: 100%;
  	height: 20vh; 
  	padding: 20px 0;
  	background-color: #f8f9fa;
  	border-top: 1px solid rgba(0, 0, 0, 0.05);
}


.footer-content {
  	text-align: center;
  	color: #2B2B2B;
  	font-size: 1.2vmin;
}

.footer-links {
  	margin-top: 10px;
  	display: flex;
  	justify-content: center;
  	gap: 30px;
}

.footer-links a {
  	color: #666;
  	text-decoration: none;
  	transition: color 0.3s ease;
}

.footer-links a:hover {
  	color: #80BFFF;
}